import common from '@/request/api/common.js'

/**
 * 微信jssdk
 * @param { 微信方法名 <Array> } list
 *
*/

function wxConfig(list){
    let jsApiList = ['hideMenuItems','hideAllNonBaseMenuItem']
    if(list){
        jsApiList = [...jsApiList,...list]
    }
    common.wechatSignatureinfo().then(data=> {
        wx.config({
            debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
            appId: data.appid, // 必填，公众号的唯一标识
            timestamp: data.timestamp, // 必填，生成签名的时间戳
            nonceStr: data.nonceStr, // 必填，生成签名的随机串
            signature: data.signature,// 必填，签名
            jsApiList: jsApiList // 必填，需要使用的JS接口列表
        });
        wx.ready(function () {
            wx.hideAllNonBaseMenuItem();
        });
    })
}

/**
 * 微信分享功能
 * @param {
 *          title:'',  分享标题
 *          desc: '',  分享描述
 *          link: '',  分享url
 *          success: function() {
 *          }, 成功回调
 *          fail: function(res) {
 *          } 失败回调
 *        } obj
 *
 */

function wxShare(obj) {
    common.wechatSignatureinfo().then(data => {
        wx.config({
            debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
            appId: data.appid, // 必填，公众号的唯一标识
            timestamp: data.timestamp, // 必填，生成签名的时间戳
            nonceStr: data.nonceStr, // 必填，生成签名的随机串
            signature: data.signature, // 必填，签名
            jsApiList: ['hideMenuItems', 'showOptionMenu', 'updateAppMessageShareData', 'updateTimelineShareData'] // 必填，需要使用的JS接口列表
        });
        wx.ready(function() { //需在用户可能点击分享按钮前就先调用
            wx.showOptionMenu({
                menuList: ['menuItem:share:appMessage', 'menuItem:share:timeline']
            });
            wx.hideMenuItems({
                menuList: ["menuItem:share:qq", "menuItem:share:weiboApp", "menuItem:favorite", "menuItem:share:facebook", "menuItem:share:QZone", "menuItem:editTag", "menuItem:delete", "menuItem:copyUrl", "menuItem:originPage", "menuItem:readMode", "menuItem:openWithQQBrowser", "menuItem:openWithSafari", "menuItem:share:email", "menuItem:share:brand"]
            });
            wx.updateTimelineShareData(obj)
            wx.updateAppMessageShareData(obj)
        });
        wx.error((res) => {
            console.log('分享失败', res)
        })
    })
}

export default {
    wxConfig,
    wxShare
}